package com.drollo77.idespensa;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class DetalleProducto extends Activity {
	
	Long mRowId;
	
	DespensaDbAdapter detalleDbAdapter;
	
	TextView campoNombre;
	TextView campoCodigo;
	TextView campoTipo;
	TextView campoNecesario;
	TextView campoCantidad;
	
	Cursor producto;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.detalle_producto);
        
        Bundle extras = getIntent().getExtras();
		mRowId = extras != null	? extras.getLong(DespensaDbAdapter.KEY_PR_ROWID) : null;
        		
		detalleDbAdapter = new DespensaDbAdapter(this);
		detalleDbAdapter.open();
		
		Log.d("detalle producto","Carga base de datos");
		
		// Asignamos campos de la interfaz a variables
		campoNombre = (TextView)findViewById(R.id.campoNombre);
		campoCodigo = (TextView)findViewById(R.id.campoCodigo);
		campoTipo = (TextView)findViewById(R.id.campoTipo);
		campoNecesario = (TextView)findViewById(R.id.campoNecesario);
		campoCantidad = (TextView)findViewById(R.id.campoCantidad);
		
		if(mRowId != null){
			producto = detalleDbAdapter.listaProducto(mRowId);
		}else{
			Toast.makeText(this, "No existe el producto", Toast.LENGTH_SHORT).show();
		}
		
		rellenaCampos(producto);
		
		producto.close();
		
    }

    
    private void rellenaCampos (Cursor producto){
    	startManagingCursor(producto);
    	try{
			campoNombre.setText(producto.getString(producto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_PR_NOMBRE)));
			campoCodigo.setText(producto.getString(producto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_PR_CODIGO)));
			Cursor tipoProducto = detalleDbAdapter.listaTipoProducto(producto.getLong(producto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_PR_TIPO)));
			startManagingCursor(tipoProducto);
			String nombreTipoProducto = tipoProducto.getString(tipoProducto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_TP_NOMBRE));
			campoTipo.setText(nombreTipoProducto);
			if(producto.getInt(producto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_PR_NECESARIO)) == 1){
				campoNecesario.setText("Si");
			}else{
				campoNecesario.setText("No");
			}
			campoCantidad.setText(producto.getString(producto.getColumnIndexOrThrow(DespensaDbAdapter.KEY_PR_CANTIDAD)));
			tipoProducto.close();
    	}catch (Exception e){
    		Log.d("detalle producto","Fallo llenando campos: " + e.getCause().toString());
    	}
    }

    
}
